Officers tased Robert Eckert, 67, before shooting him after he allegedly refused to drop the "large knife" and lunged at them on Butlers Lane in Mohnton around 7:45 a.m., Chief County Detective Michael J. Gombar said.
In Berks County, an independent agency investigation was required following an officer-involved shooting.
Brecknock Township police initially responded to a 911 call of a man suffering from a mental health crisis, they said.
The bullet struck Eckert in the torso. He was taken to a local hospital, where he was treated and released.
Eckert was charged with three counts of aggravated assault and one count of possessing instruments of crime, prosecutors said.
He was expected to be arraigned Wednesday, April 27 before a judge in Birdsboro.
Click here to follow Daily Voice Drexel Hill-Upper Darby and receive free news updates.